// var foo = "foo1"

// if (true) {
//   console.log(foo)

//   var foo = "abc"
// }

// (function () {
//     var a = (b = 5);
//   })();

//   console.log(b);
//   console.log(a);

// function foo(m, n,...args) {
//   console.log( args, m, n )
// }

// foo(20, 30, 40, 50, 60)

function Foo(age) {
  this.age = age;
}

const foo = new Foo(18)

console.log(foo.__proto__);
console.log(Foo.prototype);
console.log(Foo.__proto__ === Function.prototype);
// console.log(foo.__proto__);



// const p = new Promise((resolve, reject) => {
//   console.log('this', this)
//   resolve(10)
// })

// p.then(res => {
//   console.log("结果", res);
//   return new Promise((resolve, reject) => reject('哈哈哈'))
// }).then(res => {
//   console.log("结果二", res);
// }, error => {
//   console.log('失败', error);
// })


// const fn = (...rest) => {
//   console.log("箭头函数", this, rest);
// }
// console.log(fn.prototype);
// function test() {
//   console.log(arguments);
// }
// fn(1, 2, 3)
// test(1, 2, 34)
// console.log(test.__proto__ === Function.prototype);

// console.log(test.constructor);

var a = {}

function fn(params) {
  a = { a: 1 }
}
fn(a)
console.log(a)